package com.corpgovernment.organization.mapper;

import com.corpgovernment.organization.common.mybatis.TkMapper;
import com.corpgovernment.organization.entity.db.MbOrgPayType;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 组织结构支付方式mapper
 *
 * @author wangyujue
 */
@Repository
public interface MbOrgPayTypeMapper extends TkMapper<MbOrgPayType> {
    /**
     * 保存
     *
     * @param mbOrgPayType 支付方式
     * @return 是否成功
     */
    int save(MbOrgPayType mbOrgPayType);

    int batchSavePayType(@Param("mbOrgPayType") List<MbOrgPayType> mbOrgPayType);

    /**
     * 获取支付方式
     *
     * @param orgId 组织结构id
     * @return 支付方式
     */
    MbOrgPayType get(String orgId);

    /**
     * 修改支付方式
     *
     * @param mbOrgPayType 支付方式
     * @return 是否成功
     */
    MbOrgPayType update(MbOrgPayType mbOrgPayType);

    /**
     * 批量修改
     *
     * @param list
     * @param site
     * @return
     */
    int batchUpdate(@Param("list") List<String> list, @Param("payType") String payType, @Param("site") String site);

    /**
     * 查询组织支付方式
     *
     * @param orgId
     * @param site
     * @return
     */
    List<MbOrgPayType> findByOrgId(@Param("orgId") String orgId, @Param("site") String site);


    List<MbOrgPayType> findPayTypeList(@Param("orgId") String orgId, @Param("site") String site,@Param("corpPayType") String corpPayType);

    /**
     * 查询组织支付方式
     *
     * @param orgId
     * @param
     * @return
     */
    List<MbOrgPayType> findOrgPayTypeByOrgId(@Param("orgId") String orgId);


    /**
     * 查询组织支付方式
     *
     * @param orgId
     * @param
     * @return
     */
    List<MbOrgPayType> selectByOrgId(@Param("orgId") String orgId);

    /**
     * 查询组织的支付方式信息
     *
     * @param orgIds
     * @param site
     * @return
     */
    List<MbOrgPayType> listByOrgIds(@Param("orgIds") List<String> orgIds, @Param("site") String site, @Param("paytype") String paytype, @Param("supplierId") String supplierId);

    /**
     * 删除组织架构下支付方式
     *
     * @param orgIds
     * @param paytype
     * @param site
     * @return
     */
    int deleteByOrgIds(@Param("orgIds") List<String> orgIds, @Param("paytype") String paytype, @Param("site") String site, @Param("supplierId") String supplierId);

    /**
     * 删除组织架构下支付方式
     *
     * @param orgIds
     * @param paytype
     * @param site
     * @return
     */
    int setDeleteByOrgIds(@Param("orgIds") List<String> orgIds, @Param("paytype") String paytype, @Param("site") String site, @Param("supplierId") String supplierId);

    int deletePayType(@Param("orgId") String orgId,@Param("corpPayType") String corpPayType, @Param("paytype") String paytype, @Param("site") String site);
}
